{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "from sklearn import neighbors,datasets,cross_validation\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 使用sklearn自带的数字识别数据\n",
    "def load_data():\n",
    "    digits = datasets.load_digits()\n",
    "    return cross_validation.train_test_split(digits.data,digits.target,test_size=0.25,random_state=0, stratify=digits.target)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 测试分类KNN：\n",
    "def test_KNeighborsClassifier(*data):\n",
    "    X_train,X_test,Y_train,Y_test = data\n",
    "    knc = neighbors.KNeighborsClassifier()\n",
    "    knc.fit(X_train,Y_train)\n",
    "    \n",
    "    print('【训练集成绩】Training Score:{0}'.format(knc.score(X_train,Y_train)))\n",
    "    print('【测试集成绩】Testing  Score:{0}'.format(knc.score(X_test,Y_test)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "【训练集成绩】Training Score:0.9910913140311804\n",
      "【测试集成绩】Testing  Score:0.98\n"
     ]
    }
   ],
   "source": [
    "# 开始测试：\n",
    "X_train,X_test,Y_train,Y_test = load_data()\n",
    "test_KNeighborsClassifier(X_train,X_test,Y_train,Y_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 检验【K】值与【投票策略】对结果的影响\n",
    "def test_KNC_k_w(*data):\n",
    "    X_train,X_test,Y_train,Y_test = data\n",
    "    Ks = np.linspace(1,Y_train.size,num=50,endpoint=False,dtype='int')\n",
    "    weights = ['uniform','distance']\n",
    "\n",
    "    fig = plt.figure()\n",
    "    ax = fig.add_subplot(111)\n",
    "    \n",
    "    for weight in weights :\n",
    "        train_score = []\n",
    "        test_score = []\n",
    "        for K in Ks:\n",
    "            knc = neighbors.KNeighborsClassifier(weights=weight,n_neighbors=K)\n",
    "            knc.fit(X_train,Y_train)\n",
    "            train_score.append(knc.score(X_train,Y_train))\n",
    "            test_score.append(knc.score(X_test,Y_test))\n",
    "\n",
    "        ax.plot(Ks,train_score,label='Training Score: weight={0}'.format(weight))\n",
    "        ax.plot(Ks,test_score, label='Testing Score: weight={0}'.format(weight))\n",
    "        \n",
    "    ax.set_xlabel(r'K')\n",
    "    ax.set_ylabel('score')\n",
    "    ax.set_title('KNeighborsClassifier')\n",
    "    ax.legend(loc='best')\n",
    "    ax.set_ylim(0,1.05)\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 开始测试：\n",
    "X_train,X_test,Y_train,Y_test = load_data()\n",
    "test_KNC_k_w(X_train,X_test,Y_train,Y_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 检验【P】距离函数对结果的影响\n",
    "def test_KNC_p(*data):\n",
    "    X_train,X_test,Y_train,Y_test = data\n",
    "    Ks = np.linspace(1,Y_train.size,endpoint=False,dtype='int')\n",
    "    Ps = [1,2,10]\n",
    "    fig = plt.figure()\n",
    "    ax = fig.add_subplot(111)\n",
    "    \n",
    "    for P in Ps :\n",
    "        train_score = []\n",
    "        test_score = []\n",
    "        for K in Ks:\n",
    "            knc = neighbors.KNeighborsClassifier(p=P,n_neighbors=K)\n",
    "            knc.fit(X_train,Y_train)\n",
    "            train_score.append(knc.score(X_train,Y_train))\n",
    "            test_score.append(knc.score(X_test,Y_test))\n",
    "\n",
    "        ax.plot(Ks,train_score,label='Training Score: P={0}'.format(P))\n",
    "        ax.plot(Ks,test_score, label='Testing Score: P={0}'.format(P))\n",
    "        \n",
    "    ax.set_xlabel(r'K')\n",
    "    ax.set_ylabel('score')\n",
    "    ax.set_title('KNeighborsClassifier')\n",
    "    ax.legend(loc='best')\n",
    "    ax.set_ylim(0,1.05)\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 开始测试：\n",
    "X_train,X_test,Y_train,Y_test = load_data()\n",
    "test_KNC_p(X_train,X_test,Y_train,Y_test)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
